home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / Unix / Piper / SampleScripts / Compress / script < prev   
Text File  |  1993-01-25  |  3KB  |  62 lines

  1. #!/bin/csh
  2. #I am beginning to hate csh.
  3. #Maybe I might like perl?
  4. if("$1" != "") then
  5.   #If this isn't eliminated,
  6.   #your home directory might be compressed
  7.   #if something goes wrong with Services or so.
  8.   #I've experienced this before I put some tests in,
  9.   #and it was frightening, because as I killed the
  10.   #tar, the rm -r kicked in!
  11.   #And there was no compressed version yet!
  12.   #I hope this will cure everything...
  13.   if -f "$1" then
  14.       #echo It was a file named \""$1"\" >/dev/console
  15.       if -e "$1".Z then
  16.           echo Compress file: "$1".Z already exists. Cancelled. >/dev/console
  17.           exit(-1)
  18.         else if ( ! -r "$1" ) then
  19.           echo Compress file: cannot read file. Cancelled. >/dev/console
  20.           exit(-1)
  21.         else if ( "$1" =~ *.Z ) then
  22.           echo Compress file: is already compressed. Cancelled. >/dev/console
  23.           exit(-1)
  24.         else if ! { touch "$1".Z } then
  25.           echo Compress file: cannot write in folder. Cancelled. >/dev/console
  26.           exit(-1)
  27.         else
  28.           #echo compressing >/dev/console
  29.           #$1 is a file that I can read, it does not have extension .Z yet,
  30.           #compress will not overwrite anything and will succeed (I think).
  31.           rm "$1".Z #the last test created the file (better test, anyone?)
  32.           compress "$1"
  33.         endif
  34.       #echo kiekeboe2 >/dev/console
  35.     else if -d "$1" then
  36.       echo `echo "$1" | cat` >/dev/console
  37.       if -e "$1".tar.Z then
  38.           echo Warning: "$1".tar.Z already exists. Cancelled. >/dev/console
  39.           exit(-1)
  40.         else if ( ! -e "$1".tar.Z && "$1" == "`echo $1 | cat`" ) then
  41.           echo kiekeboe3 >/dev/console
  42.           #There should be more tests, or else I should be able to check
  43.           #the result of the compression before I delete anything.
  44.           #If you know how please tell me at RfSchtkt@banruc60.bitnet
  45.           cd "$1"/..
  46.           #We want relative paths in the compressed file!
  47.           #This might be superfluous in some version of Piper.
  48.           tar cf - "`echo $1 | sed -e 'ss/.*/ss'`" | compress > "$1".tar.Z
  49.           #Warning: the filename shouldn't contain tabs and multiple
  50.           #contiguous spaces, because `` will mutilate it otherwise.
  51.           #rm -r "$1" I won't risk this for any innocent user
  52.           #Uncomment if you want to assume responsibility for any errors.
  53.         else
  54.           echo Compress folder: something was wrong. Cancelled. >/dev/console
  55.           exit(-1)
  56.         endif
  57.     else
  58.       echo Compress: only for files and folders with 7-bit-character names! >/dev/console
  59.       exit(-1)
  60.     endif
  61.   endif
  62.